﻿// Module:             Games Programming
// Assignment1:        Platformer Game
// Add game feature:   Platform interface. All platforms must implement this.
// Student Number:     S10096666C
// Student Name:       Trinh Quang Anh

//////////////////////////////////////////////////////////////////////////

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Game.Platforms
{
    public enum PlatformType
    {
        Start = 1,
        Exit,
        Flat,
        Elevator,  // 4
        Disappearing, // 5
        VerticalFlat, // 6
        Flat3, //7 
        Flat1,// 8
        Info1,
        Info2, //10
        Info3,
        Info4,
        Info5,
        Info6, //14
        Info7, 
        Info8, 
        Ladder,
        Portal,
        Catapult,
        Trampoline,
        Glider
    }

    public interface IPlatform
    {
        void Spawn(PlatformType type, Texture2D texture, int x, int y);
        void Spawn(PlatformType type, Texture2D texture, Vector2 pos);
        void Update(GameTime gameTime);
        void Draw(SpriteBatch spriteBatch);

        Vector2 Position { get; }
        PlatformType Type { get; }
        Rectangle BoundingRect { get; }
    }
}
